package com.jiangxjsy.admin.mapper;

import com.jiangxjsy.model.admin.entity.AdminUserRole;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * wukong-crm-master
 * 蒋胜宇
 * 2025/6/6 16:13
 */

public interface AdminUserRoleMapper {
    /**
     * 根据用户 id 查询用户角色 id
     *
     * @param userId 用户 id
     * @return 角色 id 列表
     */
    @Select("select role_id from wk_admin_user_role where user_id = #{userId}")
    List<Integer> selectByUserId(@Param("userId") Long userId);

    /**
     * 根据用户 id 查询用户角色数量
     *
     * @param userId 用户 id
     * @return 角色数量
     */
    @Select("select count(*) from wk_admin_user_role where user_id = #{userId}")
    Integer selectCountByUserId(@Param("userId") Long userId);

    /**
     * 通过用户 id 删除用户角色关系
     *
     * @param userId 用户 id
     * @return 删除数量
     */
    @Delete("delete from wk_admin_user_role where user_id = #{userId}")
    Integer deleteByUserId(@Param("userId") Long userId);

    /**
     * 批量插入用户角色关系
     *
     * @param list 用户角色关系列表
     * @return 插入数量
     */
    Integer insertAdminUserRoleBatch(@Param("list") List<AdminUserRole> list);
}
